package map;

import java.sql.SQLOutput;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * Map的遍历，支持三种遍历方式
 *1.遍历所有的key
 *2.遍历所有的键值对
 *3.遍历所有的value（相对不常用）
 */
public class MapDemo2 {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();

        Integer value =map.put("语文",99);
        value =map.put("数学",98);
        value =map.put("英语",97);
        value =map.put("物理",96);
        value =map.put("化学",95);
        System.out.println(map);

        /*
        便遍历所有的key
        Set<K> keySet()
        将当前map中所有的key以一个Set集合的形式返回
         */
        Set<String> keySet = map.keySet();
        for (String key: keySet){
            System.out.println("key："+key);
        }
        Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
        for (Map.Entry<String,Integer> entry: entrySet){
            String key = entry.getKey();
            value = entry.getValue();

            System.out.println("key："+key+"value："+value);
        }

        Collection<Integer> values = map.values();
        for (Integer i: values){
            System.out.println("values"+i);
        }

        values.forEach(System.out::println);//集合forEach

        map.forEach((k,v)->{
            System.out.println(k+" "+v);//Map的forEach
        });
    }
}
